home *** CD-ROM | disk | FTP | other *** search
- property spriteNum, undercard, location, wastepile
- global stock, foundation, tableau, equal, currentsel, godlist, waste, getlist, points, redeals
-
- on beginSprite me
- stock = new(script("card pile"))
- stock.cards = shuffle()
- redeals = 0
- wastepile = sprite(12)
- end
-
- on shuffle me
- ranks = ["ace", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "jack", "queen", "king"]
- suits = ["hearts", "diamonds", "clubs", "spades"]
- unshuffledCards = []
- shuffledCards = []
- repeat with er = 1 to 2
- repeat with rank in ranks
- repeat with suit in suits
- unshuffledCards.add([#rank: rank, #suit: suit])
- end repeat
- end repeat
- repeat while unshuffledCards.count > 0
- shuffledCards.add(unshuffledCards[random(unshuffledCards.count)])
- unshuffledCards.deleteOne(shuffledCards[shuffledCards.count])
- end repeat
- end repeat
- return shuffledCards
- end
-
- on mouseDown me
- if sprite(spriteNum).member.name = "backofcard" then
- puppetSound(3, member("deal card", "100GPak Generic SFX"))
- wastepile.member = member(stock.cards[1].rank & "_" & stock.cards[1].suit, "playing cards")
- waste.addCard(12)
- stock.cards.deleteAt(1)
- if stock.cards.count = 0 then
- if redeals < 1 then
- sprite(spriteNum).member = member("replenish", "playing cards")
- else
- sprite(spriteNum).member = member("empty", "playing cards")
- checklose()
- end if
- end if
- else
- if sprite(spriteNum).member.name = "replenish" then
- stock.cards = reshuffle(waste.cards)
- waste.cards.deleteAll()
- sprite(12).member = member("empty", "playing cards")
- sprite(12).undercard.member = member("empty", "playing cards")
- sprite(spriteNum).member = member("backofcard", "playing cards")
- redeals = redeals + 1
- else
- if sprite(spriteNum).member.name = "empty" then
- nothing()
- end if
- end if
- end if
- end
-